package com.framework.service;

import com.baomidou.mybatisplus.service.IService;
import com.framework.entity.flow.FlowTask;
import com.framework.page.PageUtils;

import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 功能描述: 提现流水
 *
 * @author ck
 * @date 2018/8/28 19:46
 */
public interface FlowTaskService extends IService<FlowTask> {
	/**
	 * 查询列表
	 * @param token
	 * @param flowTask
	 * @param pageNo
	 * @return
	 */
	List<FlowTask> queryFlowTaskList(String token, FlowTask flowTask, Integer pageNo);

	/**
	 * 增加
	 * @param flowTask
	 */
	void insertFlowTask(FlowTask flowTask);


	/**
	 * 根据订单号查询
	 * @param taskNo 订单号
	 * @return
	 */
	FlowTask queryFlowTaskByNo(String taskNo);

	/**
	 * 修改提现流水状态
	 * @param taskNo  订单号
	 * @param state 状态
	 * @param explain 说明
	 */
	void updateStateByNo(String taskNo, String state, String explain);


	/**
	 * 后台管理使用 查询列表
	 * @param params
	 * @return
	 */
    PageUtils queryFlowTaskListForAdmin(Map<String,Object> params);

	/**
	 * 统计提现
	 * @param q
	 * @return
	 */
    List<Map<String,Object>> countFlowTake(Map<String,Object> q);


	/**
	 * 查询相关的订单，以向支付宝查询后修改
	 * @param deptId
	 * @param takeType
	 * @return
	 */
    List<String> queryExamineTake(long deptId, Integer takeType);


    List<FlowTask> queryExamineTakeList(long deptId, Integer takeType);

	/**
	 * 分页提现列表
	 * @param token
	 * @param pageNo
	 * @return
	 */
	List<FlowTask> queryTakeList(String token, Integer pageNo);

	String commitTake(Long[] ids);

	void downLoadExcel(Long deptId, HttpServletResponse response);
}

